--- id: TASK-011 title: In-app help overlay status: "\U0001F3C1 Done" assignee: [] created_date: '2026-06-29 16:26' updated_date: '2026-06-29 23:36' labels: - feature - release-1 dependencies: [] priority: medium ordinal: 11000 --- ## Description Release 1. A keybind cheatsheet inside the editor (we have 'glint -h' on the CLI). A key (e.g. '?' when not typing, or a Ctrl combo) toggles a centered overlay listing all editor keys and command flags; Esc closes. Source the same content as helpText in main.go (consider sharing a single source of truth). ## Acceptance Criteria - [x] #1 A key toggles a help overlay listing editor keys + commands - [x] #2 Esc closes it; content matches the CLI help ## Implementation Plan 1. Extract main.go helpText into new internal/help package (exported help.Text); main.go consumes it (single source of truth). 2. App: add ModeHelp + a viewport field; Ctrl+/ (tea.KeyCtrlUnderscore) toggles open/closed; Esc closes; scroll keys forwarded to the viewport while in help mode. 3. View: render help.Text in a centered, theme-bordered overlay over the canvas; keep the status-bar '?' hint. 4. TDD: toggle opens ModeHelp, Ctrl+/ again and Esc both close, overlay content == help.Text. ## Implementation Notes Extracted helpText into internal/help (help.Text) — single source for glint -h and the overlay. Added ModeHelp + scrollable viewport; Ctrl+/ (tea.KeyCtrlUnderscore) toggles, Ctrl+/ again or Esc closes. Centered themed bordered overlay; status hint now '? ctrl+/'. Added internal/help to README keys table. TDD: 5 tests in help_test.go, full suite + vet green.